package com.advert.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.advert.common.annotation.Excel;
import com.advert.common.core.domain.BaseEntity;

/**
 * 设备表对象 t_devices
 * 
 * @author advert
 * @date 2024-12-04
 */
public class Devices extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 维度 */
    @Excel(name = "维度")
    private BigDecimal latitude;

    /** 是否在线 */
    @Excel(name = "是否在线")
    private Integer isOnline;

    /** 设备型号 Version1.0 静态柜 Version2.0 动态柜 */
    @Excel(name = "设备型号 Version1.0 静态柜 Version2.0 动态柜")
    private String type;

    /** 销售数量 */
    @Excel(name = "销售数量")
    private Long salesNum;

    /** 销售金额 */
    @Excel(name = "销售金额")
    private Long salesAmount;

    /** 所属机构 */
    @Excel(name = "所属机构")
    private Long deptId;

    /** 点位id */
    @Excel(name = "点位id")
    private String pointId;

    /** 授权码 */
    @Excel(name = "授权码")
    private String refreshToken;

    /** 二维码 */
    @Excel(name = "二维码")
    private String qrcode;

    /** 是否禁用 1启用 2禁用 */
    @Excel(name = "是否禁用 1启用 2禁用")
    private Integer status;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 模版id */
    @Excel(name = "模版id")
    private Long modelId;

    /** 是否自动更新 */
    @Excel(name = "是否自动更新")
    private Integer isAutoUpdate;

    /** 版本号 */
    @Excel(name = "版本号")
    private String version;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String deviceTypeId;

    /** 流量限额 */
    @Excel(name = "流量限额")
    private String flowLimit;

    /** 物联卡 */
    @Excel(name = "物联卡")
    private String msisdn;

    /** 渠道 */
    @Excel(name = "渠道")
    private String channelId;

    /** 系统使用到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统使用到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exceedAt;

    /** 流量使用到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "流量使用到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flowExceedAt;

    /** 流量缴费金额 */
    @Excel(name = "流量缴费金额")
    private Long flowPrice;

    /** 流量使用周期时间（天） */
    @Excel(name = "流量使用周期时间", readConverterExp = "天=")
    private Long flowDuration;

    /** 系统使用缴费金额 */
    @Excel(name = "系统使用缴费金额")
    private Long passPrice;

    /** 系统使用周期时间（天） */
    @Excel(name = "系统使用周期时间", readConverterExp = "天=")
    private Long passDuration;

    /** 云从商品组合ID */
    @Excel(name = "云从商品组合ID")
    private String skuCombinationId;

    /** 云从入驻标识 1已入驻，0或null未入驻 */
    @Excel(name = "云从入驻标识 1已入驻，0或null未入驻")
    private Integer cloudWalkStatus;

    /** 1识别算法，0或null不识别 */
    @Excel(name = "1识别算法，0或null不识别")
    private Integer cloudWalkOnOff;

    /** 温度 */
    @Excel(name = "温度")
    private String temperature;

    /** 信号 */
    @Excel(name = "信号")
    private Long network;

    /** 电量 */
    @Excel(name = "电量")
    private Long electric;

    /** 设备上传信息 */
    @Excel(name = "设备上传信息")
    private String tag;

    /** 1按重量 2按件 */
    @Excel(name = "1按重量 2按件")
    private Integer weightModel;

    /** 阈值 */
    @Excel(name = "阈值")
    private Long slotsum;

    /** 1,用电源；0用电池 */
    @Excel(name = "1,用电源；0用电池")
    private Integer powerStatus;

    /** 门店id */
    @Excel(name = "门店id")
    private String storeId;

    /** 出厂ID,也可用于其他业务 */
    @Excel(name = "出厂ID,也可用于其他业务")
    private String terminalId;

    /** 平台，0为自己系统，1为支付宝系统 */
    @Excel(name = "平台，0为自己系统，1为支付宝系统")
    private Long devicePlatform;

    /** 厂家编号 */
    @Excel(name = "厂家编号")
    private String factoryNo;

    /** (满减或折扣)id */
    @Excel(name = "(满减或折扣)id")
    private String discountRuleId;

    /** 0,同上级，1，开朗兔人工，2盛马人工，3，云从算法 */
    @Excel(name = "0,同上级，1，开朗兔人工，2盛马人工，3，云从算法")
    private Long algorithmChannel;

    /** 0 不是帅果及其名下的机器 1 是  */
    @Excel(name = "0 不是帅果及其名下的机器 1 是 ")
    private Long isShuaiguotech;

    public void setDeviceId(String deviceId) 
    {
        this.deviceId = deviceId;
    }

    public String getDeviceId() 
    {
        return deviceId;
    }
    public void setDeviceName(String deviceName) 
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName() 
    {
        return deviceName;
    }
    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }
    public void setIsOnline(Integer isOnline) 
    {
        this.isOnline = isOnline;
    }

    public Integer getIsOnline() 
    {
        return isOnline;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setSalesNum(Long salesNum) 
    {
        this.salesNum = salesNum;
    }

    public Long getSalesNum() 
    {
        return salesNum;
    }
    public void setSalesAmount(Long salesAmount) 
    {
        this.salesAmount = salesAmount;
    }

    public Long getSalesAmount() 
    {
        return salesAmount;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setPointId(String pointId) 
    {
        this.pointId = pointId;
    }

    public String getPointId() 
    {
        return pointId;
    }
    public void setRefreshToken(String refreshToken) 
    {
        this.refreshToken = refreshToken;
    }

    public String getRefreshToken() 
    {
        return refreshToken;
    }
    public void setQrcode(String qrcode) 
    {
        this.qrcode = qrcode;
    }

    public String getQrcode() 
    {
        return qrcode;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setModelId(Long modelId) 
    {
        this.modelId = modelId;
    }

    public Long getModelId() 
    {
        return modelId;
    }
    public void setIsAutoUpdate(Integer isAutoUpdate) 
    {
        this.isAutoUpdate = isAutoUpdate;
    }

    public Integer getIsAutoUpdate() 
    {
        return isAutoUpdate;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setDeviceTypeId(String deviceTypeId) 
    {
        this.deviceTypeId = deviceTypeId;
    }

    public String getDeviceTypeId() 
    {
        return deviceTypeId;
    }
    public void setFlowLimit(String flowLimit) 
    {
        this.flowLimit = flowLimit;
    }

    public String getFlowLimit() 
    {
        return flowLimit;
    }
    public void setMsisdn(String msisdn) 
    {
        this.msisdn = msisdn;
    }

    public String getMsisdn() 
    {
        return msisdn;
    }
    public void setChannelId(String channelId) 
    {
        this.channelId = channelId;
    }

    public String getChannelId() 
    {
        return channelId;
    }
    public void setExceedAt(Date exceedAt) 
    {
        this.exceedAt = exceedAt;
    }

    public Date getExceedAt() 
    {
        return exceedAt;
    }
    public void setFlowExceedAt(Date flowExceedAt) 
    {
        this.flowExceedAt = flowExceedAt;
    }

    public Date getFlowExceedAt() 
    {
        return flowExceedAt;
    }
    public void setFlowPrice(Long flowPrice) 
    {
        this.flowPrice = flowPrice;
    }

    public Long getFlowPrice() 
    {
        return flowPrice;
    }
    public void setFlowDuration(Long flowDuration) 
    {
        this.flowDuration = flowDuration;
    }

    public Long getFlowDuration() 
    {
        return flowDuration;
    }
    public void setPassPrice(Long passPrice) 
    {
        this.passPrice = passPrice;
    }

    public Long getPassPrice() 
    {
        return passPrice;
    }
    public void setPassDuration(Long passDuration) 
    {
        this.passDuration = passDuration;
    }

    public Long getPassDuration() 
    {
        return passDuration;
    }
    public void setSkuCombinationId(String skuCombinationId) 
    {
        this.skuCombinationId = skuCombinationId;
    }

    public String getSkuCombinationId() 
    {
        return skuCombinationId;
    }
    public void setCloudWalkStatus(Integer cloudWalkStatus) 
    {
        this.cloudWalkStatus = cloudWalkStatus;
    }

    public Integer getCloudWalkStatus() 
    {
        return cloudWalkStatus;
    }
    public void setCloudWalkOnOff(Integer cloudWalkOnOff) 
    {
        this.cloudWalkOnOff = cloudWalkOnOff;
    }

    public Integer getCloudWalkOnOff() 
    {
        return cloudWalkOnOff;
    }
    public void setTemperature(String temperature) 
    {
        this.temperature = temperature;
    }

    public String getTemperature() 
    {
        return temperature;
    }
    public void setNetwork(Long network) 
    {
        this.network = network;
    }

    public Long getNetwork() 
    {
        return network;
    }
    public void setElectric(Long electric) 
    {
        this.electric = electric;
    }

    public Long getElectric() 
    {
        return electric;
    }
    public void setTag(String tag) 
    {
        this.tag = tag;
    }

    public String getTag() 
    {
        return tag;
    }
    public void setWeightModel(Integer weightModel) 
    {
        this.weightModel = weightModel;
    }

    public Integer getWeightModel() 
    {
        return weightModel;
    }
    public void setSlotsum(Long slotsum) 
    {
        this.slotsum = slotsum;
    }

    public Long getSlotsum() 
    {
        return slotsum;
    }
    public void setPowerStatus(Integer powerStatus) 
    {
        this.powerStatus = powerStatus;
    }

    public Integer getPowerStatus() 
    {
        return powerStatus;
    }
    public void setStoreId(String storeId) 
    {
        this.storeId = storeId;
    }

    public String getStoreId() 
    {
        return storeId;
    }
    public void setTerminalId(String terminalId) 
    {
        this.terminalId = terminalId;
    }

    public String getTerminalId() 
    {
        return terminalId;
    }
    public void setDevicePlatform(Long devicePlatform) 
    {
        this.devicePlatform = devicePlatform;
    }

    public Long getDevicePlatform() 
    {
        return devicePlatform;
    }
    public void setFactoryNo(String factoryNo) 
    {
        this.factoryNo = factoryNo;
    }

    public String getFactoryNo() 
    {
        return factoryNo;
    }
    public void setDiscountRuleId(String discountRuleId) 
    {
        this.discountRuleId = discountRuleId;
    }

    public String getDiscountRuleId() 
    {
        return discountRuleId;
    }
    public void setAlgorithmChannel(Long algorithmChannel) 
    {
        this.algorithmChannel = algorithmChannel;
    }

    public Long getAlgorithmChannel() 
    {
        return algorithmChannel;
    }
    public void setIsShuaiguotech(Long isShuaiguotech) 
    {
        this.isShuaiguotech = isShuaiguotech;
    }

    public Long getIsShuaiguotech() 
    {
        return isShuaiguotech;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceId", getDeviceId())
            .append("deviceName", getDeviceName())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("isOnline", getIsOnline())
            .append("type", getType())
            .append("salesNum", getSalesNum())
            .append("salesAmount", getSalesAmount())
            .append("deptId", getDeptId())
            .append("pointId", getPointId())
            .append("refreshToken", getRefreshToken())
            .append("qrcode", getQrcode())
            .append("status", getStatus())
            .append("address", getAddress())
            .append("modelId", getModelId())
            .append("isAutoUpdate", getIsAutoUpdate())
            .append("version", getVersion())
            .append("deviceTypeId", getDeviceTypeId())
            .append("flowLimit", getFlowLimit())
            .append("msisdn", getMsisdn())
            .append("channelId", getChannelId())
            .append("exceedAt", getExceedAt())
            .append("flowExceedAt", getFlowExceedAt())
            .append("flowPrice", getFlowPrice())
            .append("flowDuration", getFlowDuration())
            .append("passPrice", getPassPrice())
            .append("passDuration", getPassDuration())
            .append("skuCombinationId", getSkuCombinationId())
            .append("cloudWalkStatus", getCloudWalkStatus())
            .append("cloudWalkOnOff", getCloudWalkOnOff())
            .append("remark", getRemark())
            .append("temperature", getTemperature())
            .append("network", getNetwork())
            .append("electric", getElectric())
            .append("tag", getTag())
            .append("weightModel", getWeightModel())
            .append("slotsum", getSlotsum())
            .append("powerStatus", getPowerStatus())
            .append("storeId", getStoreId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("terminalId", getTerminalId())
            .append("devicePlatform", getDevicePlatform())
            .append("factoryNo", getFactoryNo())
            .append("discountRuleId", getDiscountRuleId())
            .append("algorithmChannel", getAlgorithmChannel())
            .append("isShuaiguotech", getIsShuaiguotech())
            .toString();
    }
}
